from blind_watermark import WaterMark
import sys
import os
import random

#sys获取路径file返回文件所在文件夹绝对路径

while True:#我放弃了 还是写个死循环好 虽然说笨是笨了点但是它能跑啊 什么exec啊 system啊 还有调用api啊 都不如循环好 简单好用
    
    username = "substitution"
    path = sys.path[0] + '/upload'
    
    files = os.listdir(path)
    
    if not files:
        print("空文件夹")
    else:
        random_file = random.choice(files)


    if not os.listdir(path):
       print("目标文件夹为空 等待添加任务中。。。")#判断目标文件夹是否为空 若为这不执行加密段防止报错 若有文件立即加密
    else:
        file = sys.path[0] + '/upload/' + random_file
        filename = os.path.basename(file)
        output = sys.path[0] + '/output/' + username + '/' + random_file + '.png'
        bwm1 = WaterMark(password_img=1, password_wm=1)
        bwm1.read_img(file)
        wm = username
        wm = "@" + wm
        byte=bin(int(wm.encode('utf-8').hex(), base=16))
        wm=wm.ljust(len(wm)+(319+2-len(byte))//8)
        bwm1.read_wm(wm, mode='str')
        bwm1.embed(output)
        len_wm = len(bwm1.wm_bit)
        print('Put down the length of wm_bit {len_wm}'.format(len_wm=len_wm))
        print(path)
        print(output)


#以下是我的胡言乱语 作废了
#//先在终端使用python3 -m pip install --upgrade pip安装pip
#如何使用pip install blind-watermark安装需要的模块
#运行pip安装模块时会出现乱七八糟的问题(可见https://blog.csdn.net/qq_62940532/article/details/130104287) 如何需要等待很长时间 我甚至以为是系统问题试了好几遍
#按上面的那个教程使用一下pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple --verbose就好啦
#然后我发现python文件不能运行的原因，根本不是环境系统这一块的问题，而是因为宝塔把它部署在了虚拟环境中，我们在真实环境中直接运行是运行不出来的，所以试试看宝塔api

